package com.example.bnuzzu.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.bnuzzu.common.dto.OrderListDto;
import com.example.bnuzzu.common.dto.SearchDto;
import com.example.bnuzzu.entity.Orderinfo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author BNUZZU
 * @since 2021-04-13
 */
public interface OrderinfoService extends IService<Orderinfo> {

    IPage<OrderListDto> selectOrderPage(Page<OrderListDto> page, Integer state);
    IPage<OrderListDto> searchOrderPage(Page<OrderListDto> page, SearchDto searchDto, Integer state);

    List<OrderListDto> getAllOrder();

    /**
     * 查询
     */
    public Orderinfo selectOrderinfoById(Long OrderID);

    /**
     * 管理员查询
     */
    public List<Orderinfo> selectOrderinfoList(Orderinfo orderinfo);

    /**
     * 自己是房东的订单
     * @param userid
     * @return 结果
     */
    List<OrderListDto> selectOwnOrderInfos(Integer userid);

    /**
     * 自己是租友的订单
     * @param userid
     * @return 结果
     */
    List<OrderListDto> selectTenantOrderInfos(Integer userid);

    /**
     * 新增
     */
    public int insertOrderinfo(Orderinfo orderinfo);

    /**
     * 修改
     */
    public int updateOrderinfo(Orderinfo orderinfo);

    /**
     * 删除
     */
    public int deleteOrderinfoById(Long OrderID);


}
